/**
 * NPM(Node Package Manager)
 *   包管理器，对于Node而言，NPM帮助其完成了第三方模块的发布、安装和依赖等，从而使得Node与第三方模块之间形成了很好的一个生态系统
 *   
 *   npm命令
 *   npm -v               查看npm版本
 *   npm version          查看所有模块的版本
 *   npm info xxx         查看npm服务器上某个包的版本信息
 *   npm ls xxx           查看本地某个下载包的版本信息
 *   npm init             指引创建package.json文件
 *   npm search xxx       搜索包
 *   npm remove / r xxx   删除一个模块
 * 
 *   npm install/i xxx          安装模块，在package.json所在的目录执行
 *   npm install/i xxx -g       全局模式安装模块（全局安装的一般都是一些工具）
 *   npm install/i --save/-S       安装模块且在package文件的dependencies节点写入依赖
 *   npm install/i --save-dev/-D   安装模块且在package文件的devDependencies节点写入依赖
 *   npm install/i              根据package.json的配置去下载依赖包
 * 
 *   npm config ls  查看配置信息
 *   npm config set prefix "c:\\xxx\\node_global"   修改安装全局模块的位置 
 * 
 *   
 *   淘宝NPM镜像
 *   npm install -g cnpm --registry=https://registry.npm.taobao.org
 * 
 * 
 * Node搜索包的流程 
 *    通过npm下载的包都会放到node_modules文件夹中
 *    通过模块名字引入模块时，它首先在当前目录的node_modules中寻找是否含有该模块
 *      如果有则直接使用，如果没有则去上一级目录的node_modules中寻找
 *      直到找到磁盘的根目录，如果依然没有，则报错
 *        
 *  
 * 
 */